
package com.xbongbong.saas.model.impl;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.util.DateTimeUtil;
import com.xbongbong.saas.domain.dao.MsgLogDao;
import com.xbongbong.saas.domain.entity.MsgLogEntity;
import com.xbongbong.saas.model.MsgLogModel;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;


/**
 * admin中的消息发送记录
 * 创建时间 2019/4/15 8:31 PM
 * 修改时间 2019/4/15 8:31 PM
 * @author chy
 * @since v1.0
 * @version v1.0
 */
@Service("msgLogModel")
public class MsgLogModelImpl implements MsgLogModel {

	@Resource
	private MsgLogDao msgLogDao;

	@Override
	public Integer insert(MsgLogEntity entity) throws XbbException {
		Long now = DateTimeUtil.getInt();
		entity.setAddTime(now);
		entity.setUpdateTime(now);

		return msgLogDao.insert((MsgLogEntity)entity);
	}

	@Override
	public Integer update(MsgLogEntity entity) throws XbbException {
		entity.setUpdateTime(DateTimeUtil.getInt());

		return msgLogDao.update(entity);
	}

	/**
	 * 保存
	 * @param entity
	 * @return
	 * 创建时间： 2018年7月23日 下午5:14:30
	 * 修改时间： 2018年7月23日 下午5:14:30 chy
	 * @author chy
	 * @since v3.26
	 * @version v3.26
	 */
	@Override
	public Integer save(MsgLogEntity entity) throws XbbException {

		if(entity.getId() == null || Objects.equals(0, entity.getId())) {
			return insert(entity);
		}
		return update(entity);
	}

	/**
	 * 批量插入
	 * @param entityList
	 * 创建时间： 2018年7月23日 下午5:14:33
	 * 修改时间： 2018年7月23日 下午5:14:33 chy
	 * @author chy
	 * @since v3.26
	 * @version v3.26
	 */
	@Override
	public void insertBatch(List<MsgLogEntity> entityList) {
		msgLogDao.insertBatch(entityList);
    }

	/**
	 * 删除
	 * @param key
	 * @param corpid
	 * @return
	 * 创建时间： 2018年7月23日 下午5:14:39
	 * 修改时间： 2018年7月23日 下午5:14:39 chy
	 * @author chy
	 * @since v3.26
	 * @version v3.26
	 */
	@Override
	public Integer deleteByKey(Integer key, String corpid){
		return msgLogDao.deleteByKey(key , corpid);
	}

	/**
	 * 获取回执信息
	 * @param key
	 * @param corpid
	 * @return
	 * 创建时间： 2018年7月23日 下午5:14:52
	 * 修改时间： 2018年7月23日 下午5:14:52 chy
	 * @author chy
	 * @since v3.26
	 * @version v3.26
	 */
	@Override
	public MsgLogEntity getByKey(Integer key, String corpid){
		return msgLogDao.getByKey(key , corpid);
	}

	/**
	 * 获取列表
	 * @param param
	 * @return
	 * 创建时间： 2018年7月23日 下午5:14:49
	 * 修改时间： 2018年7月23日 下午5:14:49 chy
	 * @author chy
	 * @since v3.26
	 * @version v3.26
	 */
	@Override
	public List<MsgLogEntity> findEntitys(Map<String ,Object>  param){
		return msgLogDao.findEntitys(param);
	}

	/**
	 * 获取数量
	 * @param param
	 * @return
	 * 创建时间： 2018年7月23日 下午5:14:46
	 * 修改时间： 2018年7月23日 下午5:14:46 chy
	 * @author chy
	 * @since v3.26
	 * @version v3.26
	 */
	@Override
	public Integer getEntitysCount(Map<String ,Object>  param){
		return msgLogDao.getEntitysCount(param);
	}

    @Override
    public List findEntitysWithoutSub(Map<String, Object> param) {
        return null;
    }

}

